home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 25 / CU Amiga Magazine's Super CD-ROM 25 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-08].iso / CUCD / Programming / GMS / GMSDev / Includes / system / modules.i < prev    next >
Encoding:
Text File  |  1998-03-22  |  3.0 KB  |  103 lines

  1.     IFND    SYSTEM_MODULES_I
  2. SYSTEM_MODULES_I SET  1
  3.  
  4. **
  5. **  $VER: modules.i V1.0
  6. **
  7. **  (C) Copyright 1996-1998 DreamWorld Productions.
  8. **      All Rights Reserved.
  9. **
  10.  
  11.     IFND    DPKERNEL_I
  12.     include    'dpkernel/dpkernel.i'
  13.     ENDC
  14.  
  15. ******************************************************************************
  16. * Module Control Structure.
  17.  
  18. VER_MODULE  = 1
  19. TAGS_MODULE = ((ID_SPCTAGS<<16)|ID_MODULE)
  20.  
  21.    STRUCTURE    MD,HEAD_SIZEOF    ;Use standard header.
  22.     WORD    MOD_Number        ;Number of the associated module.
  23.     APTR    MOD_ModBase       ;Function jump table.
  24.     APTR    MOD_Segment       ;
  25.     WORD    MOD_TableType     ;Type of table to generate.
  26.     WORD    MOD_empty         ;
  27.     LONG    MOD_FunctionList  ;Array of functons.
  28.     LONG    MOD_Version       ;Version of the module.
  29.     LONG    MOD_Revision      ;Revision of the module.
  30.     APTR    MOD_Table         ;Pointer to start of table.
  31.     APTR    MOD_Name          ;Name of the module.
  32.     LABEL    MOD_SIZEOF
  33.  
  34. MODA_Number    = (TWORD|MOD_Number)
  35. MODA_TableType = (TWORD|MOD_TableType)
  36. MODA_Version   = (TLONG|MOD_Version)
  37. MODA_Revision  = (TLONG|MOD_Revision)
  38. MODA_Name      = (TAPTR|MOD_Name)
  39.  
  40. ******************************************************************************
  41. * Table-Type definitions.
  42.  
  43. JMP_DEFAULT = 1  ;Default LVO jump type.
  44. JMP_AMIGAE  = 2  ;Amiga E jump table.
  45.  
  46. JMP_LIBRARY = JMP_AMIGAE
  47. JMP_LVO     = JMP_DEFAULT
  48.  
  49. ******************************************************************************
  50. * Module file header.
  51.  
  52. MODULE_HEADER_V1 = $4D4F4401
  53.  
  54.     STRUCTURE   MT1,0
  55.     LONG    MT_Version        ;Version/ID header.
  56.     APTR    MT_Init           ;Init()
  57.     APTR    MT_Close          ;Close()
  58.     APTR    MT_Expunge        ;Expunge()
  59.     WORD    MT_TableType      ;Type of function table to generate.
  60.     WORD    MT_OpenCount      ;Amount of programs with this module open.
  61.     APTR    MT_Author         ;Author of the module.
  62.     APTR    MT_FuncList       ;Pointer to function list.
  63.     LONG    MT_CPUNumber      ;Type of CPU this module is compiled for.
  64.     LONG    MT_ModVersion     ;Version of this module.
  65.     LONG    MT_ModRevision    ;Revision of this module.
  66.     LONG    MT_MinDPKVersion  ;Minimum DPK version required.
  67.     LONG    MT_MinDPKRevision ;Minimum DPK revision required.
  68.     LONG    MT_Open           ;Open()
  69.     APTR    MT_ModBase        ;Generated function base for given CPU.
  70.     APTR    MT_Copyright      ;Copyright details.
  71.     APTR    MT_Date           ;Date of compilation.
  72.     APTR    MT_Name           ;Name of the module.
  73.     WORD    MT_DPKTable       ;Type of function table to get from DPK.
  74.     WORD    MT_emp            ;Reserved.
  75.  
  76. ******************************************************************************
  77. * Private structure.
  78.  
  79.      STRUCTURE    ME1,0
  80.     APTR    ME_Next        ;Next module in list.
  81.     APTR    ME_Prev        ;Previous module in list.
  82.     APTR    ME_Segment     ;Module segment.
  83.     APTR    ME_Header      ;Pointer to module header.
  84.     WORD    ME_ModuleID    ;Module ID.
  85.     WORD    ME_empty       ;Reserved.
  86.     APTR    ME_Name        ;Name of the module.
  87.  
  88. FUNC    MACRO
  89.     dc.w    \1
  90.     dc.l    \2
  91.     ENDM
  92.  
  93. ******************************************************************************
  94.  
  95. CPU_68000 = 1
  96. CPU_68010 = 2
  97. CPU_68020 = 3
  98. CPU_68030 = 4
  99. CPU_68040 = 5
  100. CPU_68060 = 6
  101.  
  102.   ENDC    ;SYSTEM_MODULES_I
  103.